Repository navigation
ci(version): replace [skip ci] with [auto-version] on bump commits - #1140
Conversation
Closes #1139. Version-bump commits used GitHub's [skip ci] marker to prevent the Version workflow from re-triggering on its own output. Side effect: GitHub suppressed ALL workflow runs on those commits — including the CI and Commitlint checks that PR #1124 (rolling promotion dev→main) needs in its status rollup. Every version bump staled the rollup, requiring manual intervention to unblock the rolling PR. Fix: replace [skip ci] with a custom [auto-version] marker that the Version workflow checks (line 26) but GitHub does not recognize as a CI-skip directive. Now: 1. Version bump commits trigger normal CI + Commitlint runs on dev. 2. Those CI completions fire the Version workflow, but it self-guards via !contains(head_commit.message, '[auto-version]') and skips — no infinite loop. 3. PR #1124's rollup always reflects the latest commit's CI state. 4. Cost: one extra ~60s CI run per version bump. Marginal vs the manual-intervention tax it eliminates. release.yml's guard (`!startsWith(message, '[skip ci]')`) is left unchanged — it protects against a different edge case (direct [skip ci]-prefixed pushes to main) and version bumps are always pushed to dev, not main. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
Note Gemini is unable to generate a review for this pull request due to the file types involved not being currently supported. |
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
The preceding auto-version bump used the legacy workflow marker that suppresses CI, leaving the rolling PR stale. This empty commit carries no such marker and exists solely to fire fresh push and pull_request events so the rollup reflects the proven green state from 7c91daf (all 4 runs SUCCESS). Follow-up resolves automatically once PR #1124 merges to main — the auto-version marker fix from #1140 will then take effect on main and this paper cut stops recurring. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The preceding auto-version bump used the legacy workflow marker that suppresses CI, leaving the rolling PR stale. This empty commit carries no such marker and exists solely to fire fresh push and pull_request events so the rollup reflects the proven green state from d8bf000 (all 4 runs SUCCESS). Follow-up resolves automatically once PR #1124 merges to main — the auto-version marker fix from #1140 will then take effect on main and this paper cut stops recurring. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Closes #1139.
Problem
Version-bump commits use GitHub's
[skip ci]marker to prevent the Version workflow from re-triggering on its own output. Side effect: GitHub suppresses all workflow runs on those commits — including the CI and Commitlint checks that PR #1124 (rolling promotiondev→main) needs in its status rollup. Every single version bump stales the rollup, requiring manual intervention (empty retrigger commits, close+reopen attempts) to unblock the rolling PR.Observed three times in 24 hours on 2026-04-11:
235d3ad9(4.260411.3 [skip ci]) — staled rollup after fix(omni-bridge): isolate GENIE_HOME in tests + arm idle timer last #1138 merge22bc0270(4.260412.1 [skip ci]) — staled rollup after metrics commitd7372252→6e38a17aempty-commit push to retriggerFix
Replace
[skip ci]with a custom[auto-version]marker in two places inversion.yml:!contains(message, '[skip ci]')!contains(message, '[auto-version]')bump to ${VERSION} [skip ci]bump to ${VERSION} [auto-version]How it works:
[auto-version]— GitHub does not recognize this as a CI-skip marker, so CI + Commitlint fire normally on dev push.!contains(head_commit.message, '[auto-version]')→ false → self-guards. No infinite loop.Cost: one extra ~60s CI run per version bump on the Blacksmith runner. Marginal vs the manual-intervention tax it eliminates.
Not touched:
release.yml's guard (!startsWith(message, '[skip ci]')) — it protects against a different edge case (direct[skip ci]-prefixed pushes to main) and version bumps are always pushed todev, never directly tomain.Test plan
[auto-version]bump commit[auto-version]bump commit (previously would not fire)[auto-version]CI completion and skips (no infinite loop)🤖 Generated with Claude Code